home *** CD-ROM | disk | FTP | other *** search
/ Hyper Animation Series: Viper (Limited Edition) / Hyper Animation Series: VIPER (Limited Edition).iso / pc / SYSTEM / class / BOSS1BodyAttack3.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-04  |  3.4 KB  |  112 lines

  1. class BOSS1BodyAttack3 extends EnemyAction {
  2.    private int fxTime = 0;
  3.    private boolean[] fShot = new boolean[16];
  4.    private int fxShot = 0;
  5.  
  6.    public BOSS1BodyAttack3(StgFrame var1) {
  7.       super(var1);
  8.    }
  9.  
  10.    public boolean action(EnemyIndex var1) {
  11.       int var2 = super.resource.getEnemySpeed();
  12.       super.resource.getEnemy();
  13.       BOSS1Index var3 = (BOSS1Index)var1;
  14.       BOSS1Index var4 = var3.getLegIndex();
  15.       BOSS1Index var5 = var3.getDefectIndex();
  16.       int var6 = var3.getMove();
  17.       int var7 = var3.getCMove();
  18.       ((StgObjectIndex)var3).movePosition(var6, 0, 0);
  19.       ((StgObjectIndex)var4).movePosition(var6, 0, 0);
  20.       ((StgObjectIndex)var5).movePosition(var6, 0, 0);
  21.       switch (var7) {
  22.          case -2097152:
  23.             var6 = -var6;
  24.             break;
  25.          case -1048576:
  26.             if ((Fixed.Random() & 'ΦÇÇ') != 0) {
  27.                var6 = -var6;
  28.             }
  29.             break;
  30.          case 0:
  31.             if ((Fixed.Random() & 'ΦÇÇ') != 0) {
  32.                var6 = -var6;
  33.             }
  34.             break;
  35.          case 1048576:
  36.             if ((Fixed.Random() & 'ΦÇÇ') != 0) {
  37.                var6 = -var6;
  38.             }
  39.             break;
  40.          case 2097152:
  41.             var6 = -var6;
  42.       }
  43.  
  44.       var7 += var6;
  45.       var3.setMove(var6);
  46.       var3.setCMove(var7);
  47.       if (this.fxTime >= 0 && this.fxTime <= 2097152) {
  48.          ((StgObjectIndex)var5).movePosition(var2, 0, 0);
  49.       }
  50.  
  51.       if (this.fxTime >= 2097152 + this.fxShot && this.fxTime <= 4194304) {
  52.          this.putShot(var1);
  53.          this.fxShot += 524288;
  54.       }
  55.  
  56.       if (this.fxTime >= 4194304 && this.fxTime <= 6291456) {
  57.          ((StgObjectIndex)var5).movePosition(-var2, 0, 0);
  58.       }
  59.  
  60.       if (this.fxTime > 6291456) {
  61.          var1.setEnemyAction(new BOSS1BodyNomal(super.resource));
  62.       }
  63.  
  64.       this.fxTime += var2;
  65.       this.destroy(var1);
  66.       return true;
  67.    }
  68.  
  69.    private boolean putShot(EnemyIndex var1) {
  70.       Enemy var2 = super.resource.getEnemy();
  71.       Position var3 = ((StgObjectIndex)var1).getPosition();
  72.       int var5 = var3.getX() - 3145728;
  73.       int var6 = var3.getY() + 1048576;
  74.       short var7 = (short)('∞ÇÇ' - (Fixed.Random() >> 4));
  75.       EZ06Index var4 = new EZ06Index(new Position(var5, var6, 0), StgData.getSpriteAnimeEZ06Nomal(), new Position(524288, 524288, 0), 0, new EZ06Nomal(super.resource), 0, 163840, 200, 0, var7, 1048576);
  76.       return ((StgObject)var2).add(var4);
  77.    }
  78.  
  79.    public boolean checkHitPlayerShip(EnemyIndex var1, PlayerShipIndex var2) {
  80.       super.resource.getEnemy();
  81.       return ((StgObjectIndex)var1).checkHit(var2);
  82.    }
  83.  
  84.    public boolean checkHitPlayerShot(EnemyIndex var1, PlayerShotIndex var2) {
  85.       boolean var3 = false;
  86.       super.resource.getEnemy();
  87.       if (((StgObjectIndex)var1).checkHit(var2)) {
  88.          var3 = true;
  89.       }
  90.  
  91.       return var3;
  92.    }
  93.  
  94.    public boolean checkHitBom(EnemyIndex var1) {
  95.       return false;
  96.    }
  97.  
  98.    private boolean destroy(EnemyIndex var1) {
  99.       Enemy var2 = super.resource.getEnemy();
  100.       ((StgObjectIndex)var1).getSpriteAnimeIndex();
  101.       boolean var3 = false;
  102.       Status var4 = super.resource.getStatus();
  103.       if (var1.getHitPoint() == 0) {
  104.          var4.add(var1.getScore());
  105.          ((StgObject)var2).delete(var1);
  106.          var3 = true;
  107.       }
  108.  
  109.       return var3;
  110.    }
  111. }
  112.